﻿using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using SaludOcupacional.DataAccess;
using SaludOcupacional.Exceptions;
using SaludOcupacional.Model;

namespace SaludOcupacional.Controller
{
    public class CronogramasManager
    {
        public static void CrearCita(Cronograma cronogramas)
        {
            if (cronogramas == null)
                throw new LoginException("La cita no puede ser nula!");
            if(Convert.ToDateTime(cronogramas.Fecha) < DateTime.Now )
                throw new LoginException("La Fecha Debe Ser Mayor A La Fecha Actual!");

            using (CronogramasDataAccess daccess = new CronogramasDataAccess())
            {
                daccess.CrearCita(cronogramas);
            }
        }


        public static Collection<Cronograma> BuscarCitasPorCi(int ci)
        {
            Collection<Cronograma> lista = new Collection<Cronograma>();
            using (CronogramasDataAccess daccess = new CronogramasDataAccess())
            {
                lista = daccess.BuscarCitasPorCi(ci);
            }
            return lista;
        }


        public static void EditarCronograma(Cronograma cronograma)
        {

            if (cronograma == null)
                throw new LoginException("La cita no puede ser nula!");

            if (Convert.ToDateTime(cronograma.Fecha) < DateTime.Now)
                throw new LoginException("La Fecha Debe Ser Mayor A La Fecha Actual!");

            using (CronogramasDataAccess daccess = new CronogramasDataAccess())
            {
                daccess.Editarcronograma(cronograma);
            }

        }

        public static void VerificarAnalisis(int ci, string analisis)
        {
            Collection<Cronograma> lista = new Collection<Cronograma>();
            lista = BuscarCitasPorCi(ci);

            for (int i = 0; i < lista.Count; i++)
            {
                if (lista[i].Analisis == analisis)
                    throw new LoginException("El Analisis ya Tiene Cita Registrada!");
            }
            


        }

    }
}
